﻿package AntShares.SmartContract.Framework.Services.AntShares;

import AntShares.SmartContract.Framework.Syscall;

public class Blockchain
{
	@Syscall("AntShares.Blockchain.GetHeight")
	public static int GetHeight()
	{
		return 0;
	}

	@Syscall("AntShares.Blockchain.GetHeader")
	public static Header GetHeader(int height)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.GetHeader")
	public static Header GetHeader(byte[] hash)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.GetBlock")
	public static Block GetBlock(int height)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.GetBlock")
	public static Block GetBlock(byte[] hash)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.GetTransaction")
	public static Transaction GetTransaction(byte[] hash)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.GetAccount")
	public static Account GetAccount(byte[] script_hash)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.RegisterValidator")
	public static byte[] RegisterValidator(byte[] pubkey)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.GetValidators")
	public static byte[][] GetValidators()
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.CreateAsset")
	public static Asset CreateAsset(byte asset_type, String name, long amount, byte precision, byte[] owner,
			byte[] admin, byte[] issuer)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.GetAsset")
	public static Asset GetAsset(byte[] asset_id)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.CreateContract")
	public static Contract CreateContract(byte[] script, byte[] parameter_list, byte return_type, Boolean need_storage,
			String name, String version, String author, String email, String description)
	{
		return null;
	}

	@Syscall("AntShares.Blockchain.GetContract")
	public static Contract GetContract(byte[] script_hash)
	{
		return null;
	}
}
